package com.itcast.demo_one.kotlin

fun main() {
    val man = Person3("张三")
    man.intro()

    val women = Person3("李四", 18)
    women.intro()

    val child = Person3("王五", 18, 100)
    child.intro()

}

/**
 * 次构造函数(无主构造函数)
 */
/*
class Person3 {
    var name: String = ""
    var age: Int = 0

    constructor(name: String, age: Int) {
        this.name = name
        this.age = age
    }

    fun intro() {
        println("我的名字是：$name, 我的年龄是：$age")
    }
}*/

/**
 * 次构造函数(有主构造函数)
 * 如果有主构造函数，那么次构造函数必须委托给主构造函数
 * 可以有多个次构造函数
 */
class Person3(var name: String) {

    var age: Int = 0
    var score: Int = 0

    // 次构造函数1
    constructor(name: String, age: Int) : this(name) {
        this.age = age
    }

    // 次构造函数2
    constructor(name: String, age: Int, score: Int) : this(name) {
        this.score = score
        this.age = age
    }

    fun intro() {
        println("我的名字是：$name, 我的年龄是：$age, 我的分数是：$score")
    }

}
